package Robot;

import Premio.*;
import Principal.Posicion;

/**
 * Clase Militar.
 * @author Alonso, Veroni y Reissing
 *
 */
public class Militar extends Robot {
	
	protected int balas;
	protected int maxBalas;
	
	/**
	 * Militar es el constructor de la clase.
	 * @param p, Posicion del robot.
	 * @param d, direccion del robot.
	 */
	//constructor
	public Militar(Posicion p, char d) {
		super(p, d);
		balas=10;
		maxCombustible=50;
		combustible=50;
		maxBalas=10;
	}

	//comandos
	
	/**
	 * accionEspecial, descuenta la cantidad de balas del robot Militar.
	 */
	public void accionEspecial() {
		balas--;	
	}
	
		
	//consultas
	
	/**
	 * getBalas, retorna la cantidad de balas del robot.
	 * @return cantidad de balas.
	 */
	public int getBalas(){
		return balas;
	}

	/**
	 * recibirPremioEspecial, suma n cantidad de balas al robot, sin pasar el maximo de 10 balas.
	 */
	public void recibirPremioEspecial(Premio p) {
		int b=((Balas)p).getBalas();
		if(balas+b<maxBalas)
			balas+=((Balas)p).getBalas();
		else
			balas=maxBalas;
		
	}
	
	public  boolean esEspecial(){
		return true;
	}
	
	/**
	 * tieneBalas, retorna verdadero si tiene balas, falso en caso contrario.
	 * @return tiene balas.
	 */
	
	public boolean tieneBalas(){
		return balas!=0;
	}	
	
	
	public String getNombre() {
	
		return "Militar";
	}

	
}

